export const createRoutes = async (arr, that) => {
  arr.forEach(item => {
    // console.log(item)
    // 创建一条子路由
    if (item.menuPath !== null) {
      // console.log(item.menuPageTitle, JSON.parse('"' + item.menuPageTitle + '"'))
      let routesItem = {
        path: item.menuPath,
        meta: {
          requireAuth: true,
          meunId: item.menuId,
          pagetitle: item.menuPageTitle.replace(/['"[\]]/g, '').split(',')
          //['首页', '工作台'] 字符串的值，  正则里面，左方括号不要加\来转义，右方括号需要转义。 PageTitle.vue里面要用数组来左面包屑导航
        },
        component: () => import(`@/views/${item.menuComponent.replace('../views/', '')}`) // 变量名，只能仅仅是组件文件名， 由于webpack原因，import只能导入字符串的格式的组件名称。
      }
      // 添加子路由到指定的父路由
      that.$router.addRoute('home', routesItem) // 如果有重复的，就直接替换
    }

    // 通过递归调用函数自己：
    if (item.children && item.children.length !== 0) {
      createRoutes(item.children, that)
    }
  })
  // 修改动态路由添加的状态
  that.$store.dispatch('routesState', true)
}
